/**
 * 
 */
package com.fenoco;

import java.util.List;

import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

import org.ajax4jsf.model.KeepAlive;

import co.com.fenoco.encuentas.persistencia.EncabezadoEncuestas;
import co.com.fenoco.encuentas.persistencia.Usuario;
import co.com.fenoco.encuentas.servicios.IEncuestasLocal;
import co.com.fenoco.encuentas.servicios.ServiceLocator;
import co.com.fenoco.encuentas.servicios.dto.FiltroConsultaEncuestasDTO;

/**
 * @author Camilo Forero
 */
@KeepAlive
public class ConsultaEncuestas {
	private Usuario usuario = null;
	private IEncuestasLocal encuestasEJB;
	private List<EncabezadoEncuestas> encuestas = null;
	private FiltroConsultaEncuestasDTO filtro;

	public ConsultaEncuestas() {
		try {
			encuestasEJB = (IEncuestasLocal) ServiceLocator.getInstance()
					.lookup("Fenoco/EncuestasBean/local");
			init();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void init() {
		FacesContext faces = FacesContext.getCurrentInstance();
		HttpSession session = (HttpSession) faces.getExternalContext()
				.getSession(false);
		usuario = (Usuario) session.getAttribute("usuario");
		filtro = new FiltroConsultaEncuestasDTO();
		filtro.setEncuestador(usuario != null ? usuario.getId() : null);
		
		encuestas = encuestasEJB.consultarEncuestas(filtro);
	}

	public void consultarEncuestas() {
		encuestas = encuestasEJB.consultarEncuestas(filtro);
	}
	
	public void verId() {
		FacesContext context = FacesContext.getCurrentInstance();
		Object value = context.getExternalContext().getRequestMap().get("id");
		System.out.println(value);
	}

	public FiltroConsultaEncuestasDTO getFiltro() {
		return filtro;
	}

	public void setFiltro(FiltroConsultaEncuestasDTO filtro) {
		this.filtro = filtro;
	}

	/**
	 * @return the encuestas
	 */
	public List<EncabezadoEncuestas> getEncuestas() {
		return encuestas;
	}

	/**
	 * @param encuestas
	 *            the encuestas to set
	 */
	public void setEncuestas(List<EncabezadoEncuestas> encuestas) {
		this.encuestas = encuestas;
	}

}
